package io.dy.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringJoiner;
import java.util.concurrent.TimeUnit;

/**
 * @author dmj
 * @date 2024年03月01日 下午7:53
 */
public class ThreadUtils {

    /**
     * 指定休眠事件 毫秒
     * @param millis
     */
    public static void sleepMillis(long millis){
        try {
            TimeUnit.MILLISECONDS.sleep(millis);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    /**
     * 指定休眠事件 毫秒
     * @param seconds
     */
    public static void sleepSecond(long seconds){
        try {
            TimeUnit.SECONDS.sleep(seconds);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    /**
     * 打印线程信息
     * @param msg
     */
    public static void printThreadLog(String msg){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        //时间 ｜ 线程id | 线程名 ｜日志信息
        String result = new StringJoiner(" | ")
                .add(sdf.format(new Date()))
                .add(String.format("%2d", Thread.currentThread().getId()))
                .add(Thread.currentThread().getName())
                .add(msg).toString();
        System.out.println(result);
    }
}
